การวิเคราะห์และตรวจสอบขั้นตอนวิธี Blowfish ของ โบลว์ฟิช

เมื่อขั้นตอนวิธี Blowfish ซึ่งไม่มีการกำหนดลิขสิทธิ์ใด ๆ เกิดขึ้นมาได้ 1 ปี ก็ได้มีผู้สนับสนุนของวารสาร Dr. Dobb's Journal ที่เป็น Cryptanalysis ได้ให้ข้อมูลเอาไว้ 5 ส่วนด้วยกันโดยทั้ง 5 ส่วนนั้นได้ข้อสรุปออกมาดังนี้คือ

นาย John Kelsey ได้ทำการโจมตีโดยเข้าไปขัดขวางการทำงานในรอบที่ 3 ในการทำงานของ Blowfish แต่ปรากฏว่าไม่สามรถหยุดการทำงานลงได้ การโจมตีในการทำงานของฟังก์ชัน F และการทำงานแบบ Addition mod 232 and XOR ยากต่อการแปรค่าออกไปจากเดิม นาย Vikramjit Singh Chhabra พบว่าการสร้าง Key ของ Blowfish จะใช้เครื่องในการทำงานซึ่งเป็นการทำงานที่มีประสิทธิภาพเป็นอย่างมาก

นาย Serge Vaudenay ได้ตรวจสอบถึงการแปรผันของขั้นตอนวิธี Blowfish โดยใช้ S-boxes ที่ไม่ขึ้นอยู่กับค่า key เพื่อนำมาเป็นตัวแปรผัน ซึ่งค่าความแตกต่างจากการโจมตีสามารถแสดงให้เห็นว่าค่า P-array ที่เป็น 28r+1 จะมีค่าใกล้เคียงกับ ข้อความธรรมดา (โดยที่ r คือจำนวนรอบ) ซึ่งการโจมตีนี้เป็นไปได้ในรอบที่ 8 ของ Blowfish หรือสูงกว่านั้น

สำหรับค่าคีย์ที่เป็น Weak Key และ Weak S-box จะถูกทำการสร้างขึ้นมาได้โดยการกำหนดเลขคี่เพื่อมาสุ่มตัวเลข 1 ตัวใน 214 ตัว และการโจมตีต้องการเพียง 24r+1 ของ plaintext เพื่อจะทำการหาค่าของ P-array ออกมากได้และทำให้รู้ถึงค่าของ S-box ด้วย เมื่อรู้ค่าของ S-box แล้วก็จะสามารถย้อนรอยไปจนถึงข้อมูลต้นตอได้ และการทำงานโดยการโจมตีแบบนี้สามารถที่จะลดรอบการทำงานลงได้ และก็จะได้ค่าข้อมูลที่เหมือน 16 รอบ

ในปีค.ศ. 2005 นาย Dieter Schmidt ได้ตรวจสอบถึงตารางคีย์ของขั้นตอนวิธี Blowfish และพบว่า Subkeys ที่ใช้ในรอบที่ 3 และ 4 นั้นจะไม่ขึ้นกับ 64 bits แรกของ key เดิม